package exception02;

import java.io.IOException;
import java.util.zip.DataFormatException;

/*
编译时异常在注释中的使用规则：
   1.如果父类中的方法声明的有异常，那么子类在重写该方法的时候，
     可以不声明该异常或者声明该异常或者声明该异常的子类
   2.如果父类中的方法声明多个异常，那么子类在重写该方法的时候，
     可以声明父类异常的子集(包含空集)
      {a,b} {a} {b} {a,b} 空集
   3.如果没有声明异常,子类在重写该方法时也不能声明异常

 */
class Father {
    public void method01() throws Exception {

    }

    public void method02() throws Exception {

    }

    public void method03() throws Exception {

    }
    public void method04()throws DataFormatException,IOException {

    }
    public void method05()throws DataFormatException,IOException {

    }
    public void method06()throws DataFormatException,IOException {

    }
    public void method07(){

    }
}

class Son extends Father {
    @Override
    public void method01() {

    }

    @Override
    public void method02() throws Exception {

    }
    @Override
    public void method03() throws IOException {

    }
    @Override
    public void method04()throws DataFormatException,IOException {

    }
    @Override
    public void method05()throws DataFormatException {

    }
    @Override
    public void method06() {

    }

   /* @Override
    public void method07() throws Exception {

    }*/
}
